//编写一种算法，若M × N矩阵中某个元素为0，则将其所在的行与列清零。 
//
// 
//
// 示例 1： 
//
// 输入：
//[
//  [1,1,1],
//  [1,0,1],
//  [1,1,1]
//]
//输出：
//[
//  [1,0,1],
//  [0,0,0],
//  [1,0,1]
//]
// 
//
// 示例 2： 
//
// 输入：
//[
//  [0,1,2,0],
//  [3,4,5,2],
//  [1,3,1,5]
//]
//输出：
//[
//  [0,0,0,0],
//  [0,4,5,0],
//  [0,3,1,0]
//]
// 
// Related Topics 数组 哈希表 矩阵 👍 40 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public void setZeroes(int[][] matrix) {
        int row = matrix.length;
        int col = matrix[0].length;
        int[][] copy = new int[row][col];

        for (int i = 0; i < row; i++)
            for (int j = 0; j < col; j++){
                copy[i][j] = matrix[i][j];
            }

        for (int i = 0; i < row; i++)
            for (int j = 0; j < col; j++){
                if(matrix[i][j] == 0){
                    //将行置为0
                    for (int p = 0; p < col; p++){
                        copy[i][p] = 0;
                    }
                    //将列置为0
                    for (int q = 0; q < col; q++){
                        copy[q][j] = 0;
                    }
                }
            }

        for (int i = 0; i < row; i++)
            for (int j = 0; j < col; j++){
                matrix[i][j] = copy[i][j];
            }
    }
}
//leetcode submit region end(Prohibit modification and deletion)
